package ar.com.larreta.colegio.procesos.pasos;

import java.util.Iterator;
import java.util.List;

import org.hibernate.criterion.SimpleExpression;

import ar.com.larreta.persistencia.HerramientasDao;
import ar.com.larreta.procesos.pasos.GenerarCriteria;

import com.extjs.gxt.ui.client.data.BaseStringFilterConfig;

public class GenerarCriteriaAlumnos extends GenerarCriteria {

	public static final String TIPO_DOCUMENTO = "tipoDocumento";
	public static final String NIVEL = "nivel";
	public static final String ANIO = "anio";
	public static final String DIVISION = "division";
	public static final String PUNTO_DESCRIPCION = ".descripcion";
	
	@Override
	protected List<SimpleExpression> getExpresions() {
		List filtros = getFiltros();
		
		Iterator it = filtros.iterator();
		while (it.hasNext()) {
			BaseStringFilterConfig filter = (BaseStringFilterConfig) it.next();
			if (TIPO_DOCUMENTO.equals(filter.getField())){
				filter.setField(TIPO_DOCUMENTO + PUNTO_DESCRIPCION);
			}
			if (NIVEL.equals(filter.getField())){
				filter.setField(NIVEL + PUNTO_DESCRIPCION);
			}
			if (ANIO.equals(filter.getField())){
				filter.setField(ANIO + PUNTO_DESCRIPCION);
			}
			if (DIVISION.equals(filter.getField())){
				filter.setField(DIVISION + PUNTO_DESCRIPCION);
			}	
		}
		
		return HerramientasDao.getInstancia().getExpresiones(filtros);
	}

}
